---
id: 5900f5141000cf542c510027
title: 'Завдання 423: послідовні кидки кубика'
challengeType: 1
forumTopicId: 302093
dashedName: problem-423-consecutive-die-throws
---

# --description--

Нехай $n$ буде натуральним числом.

Шестигранний кубик кидають $n$ разів. Нехай $c$ буде кількістю послідовних кидків, які дають однакове значення.

Наприклад, якщо $n = 7$ і значеннями кидків є (1, 5, 6, 6, 6, 3), то наступні послідовні кидки дають однакове значення:

$$\begin{align}   & (\underline{1}, \underline{1}, 5, 6, 6, 6, 3) \\\\
  & (1, 1, 5, \underline{6}, \underline{6}, 6, 3) \\\\ & (1, 1, 5, 6, \underline{6}, \underline{6}, 3) \end{align}$$

Отже, $c = 3$ для (1, 1, 5, 6, 6, 6, 3).

Визначимо $C(n)$ як кількість результатів кидків шестигранного кубика $n$ разів, щоб $c$ не перевищувало $π(n)$.<sup>1</sup>

Наприклад, $C(3) = 216$, $C(4) = 1290$, $C(11) = 361\\,912\\,500$ та $C(24) = 4\\,727\\,547\\,363\\,281\\,250\\,000$.

Визначимо $S(L)$ як $\sum C(n)$ за умови $1 ≤ n ≤ L$.

Наприклад, $S(50)\bmod 1\\,000\\,000\\,007 = 832\\,833\\,871$.

Знайдіть $S(50\\,000\\,000)\bmod 1\\,000\\,000\\,007$.

<sup>1</sup> $π$ позначає функцію підрахунку простих чисел, тобто $π(n)$ є кількістю простих чисел $≤ n$.

# --hints--

`consecutiveDieThrows()` має повернути `653972374`.

```js
assert.strictEqual(consecutiveDieThrows(), 653972374);
```

# --seed--

## --seed-contents--

```js
function consecutiveDieThrows() {

  return true;
}

consecutiveDieThrows();
```

# --solutions--

```js
// solution required
```
